-- In this query, p.Name is nvarchar and p.Style is nchar
-- This implicit conversion produced the intended results, 
-- a list of product names and styles in a single column
USE AdventureWorks2008
GO

SELECT (p.Name + ' ' + p.Style)
FROM Production.Product AS p
WHERE p.Style IS NOT NULL

ORDER BY p.Style


-- In this query, unintended results are produced.
-- p.StandardCost is a money data type and p.ReorderPoint is smallint
-- The smallint data type is implicitly converted to money.

USE AdventureWorks2008
GO

SELECT p.Name, (p.StandardCost + p.ReorderPoint), p.StandardCost, p.ReorderPoint
FROM Production.Product AS p

ORDER BY p.Name


-- This query will not work because the of the implicit conversion
-- from the nvarchar data type in the p.FirstName and p.LastName fields
-- to the money data type in the s.Rate field
USE AdventureWorks2008
GO

SELECT (p.FirstName + ' ' + p.LastName + ' ' + s.Rate)
FROM Person.Person AS p
INNER JOIN HumanResources.EmployeePayHistory AS s
ON p.BusinessEntityID = s.BusinessEntityID

ORDER BY p.BusinessEntityID